/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.vraptor.jpessoal.DAO;

import br.com.caelum.vraptor.ioc.Component;
import br.com.vraptor.jpessoal.bean.Capacitacao;
import br.com.vraptor.jpessoal.bean.Colaborador;
import br.com.vraptor.jpessoal.util.HibernateUtil;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Expression;

/**
 *
 * @author rodrigogois
 */

@Component
public class CapacitacaoDAO  {

    public boolean salvar(Capacitacao capacitacao){

        boolean retorno = true;
        Session session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        try {
            session.save(capacitacao);
            session.getTransaction().commit();

        } catch (Exception ex) {
            ex.printStackTrace();
            session.getTransaction().rollback();
            retorno = false;
        } finally {
            session.close();
        }
        return retorno;
    }

    public List<Capacitacao> listarPorColaborador(Colaborador colaborador) {

        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        Criteria crit = session.createCriteria(Capacitacao.class);
        crit.add(Expression.eq("colaborador", colaborador));
        List<Capacitacao> capacitacaoList = (List<Capacitacao>) crit.list();
        session.getTransaction().commit();

        return capacitacaoList;
    }

    public Capacitacao converterData(Capacitacao objCapacitacao) {

        String ano = objCapacitacao.getDataInicio().substring(0, 4);
        String mes = objCapacitacao.getDataInicio().substring(5, 7);
        String dia = objCapacitacao.getDataInicio().substring(8, 10);
        String ano1 = objCapacitacao.getDataFim().substring(0, 4);
        String mes1 = objCapacitacao.getDataFim().substring(5, 7);
        String dia1 = objCapacitacao.getDataFim().substring(8, 10);
        objCapacitacao.setDataInicio(dia + "/" + mes + "/" + ano);
        objCapacitacao.setDataFim(dia1 + "/" + mes1 + "/" + ano1);

        return objCapacitacao;
    }
}
